Entity Framework (EF) এর মাধ্যমে Create, Read, Update, এবং Delete (CRUD) অপারেশনগুলো খুব সহজে পরিচালনা করা যায়। EF ডাটাবেসের সাথে যোগাযোগের জন্য DbContext এবং DbSet ক্লাস ব্যবহার করে এই অপারেশনগুলো সম্পাদন করা হয়। এখানে আমরা প্রতিটি CRUD অপারেশন কীভাবে EF এর মাধ্যমে বাস্তবায়িত করা যায় তা বিস্তারিতভাবে দেখব।
Create অপারেশন নতুন রেকর্ড ডেটাবেসে ইনসার্ট করতে ব্যবহৃত হয়। EF তে, আপনি একটি Entity ক্লাসের নতুন অবজেক্ট তৈরি করেন এবং সেটি DbSet এ অ্যাড করে ডেটাবেসে সেভ করতে পারেন।
using (var context = new SchoolContext())
{
var newStudent = new Student
{
Name = "John Doe",
Age = 20,
Address = "1234 Elm St"
};
context.Students.Add(newStudent); // Add the new student to DbSet
context.SaveChanges(); // Save changes to database
}
এখানে:
Student
অবজেক্ট তৈরি করা হয়েছে।Read অপারেশন ডেটাবেস থেকে ডেটা রিট্রাইভ বা পড়তে ব্যবহৃত হয়। EF তে, আপনি DbSet
এর মাধ্যমে LINQ কুয়েরি ব্যবহার করে ডেটা রিড করতে পারেন।
using (var context = new SchoolContext())
{
// একক স্টুডেন্ট রিড করা
var student = context.Students.FirstOrDefault(s => s.StudentId == 1);
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
// সকল স্টুডেন্ট রিড করা
var allStudents = context.Students.ToList();
foreach(var s in allStudents)
{
Console.WriteLine($"Name: {s.Name}, Age: {s.Age}");
}
}
এখানে:
StudentId
১ এর স্টুডেন্টটি রিড করে।LINQ (Language Integrated Query) ব্যবহার করে আরও জটিল কুয়েরি করা সম্ভব, যেমন ফিল্টারিং, গ্রুপিং বা অর্ডারিং।
Update অপারেশন ডেটাবেসে বিদ্যমান রেকর্ডগুলির মান পরিবর্তন করতে ব্যবহৃত হয়। EF তে, একটি Entity এর অবজেক্টকে রিট্রাইভ করে তার প্রপার্টি পরিবর্তন করে, তারপর SaveChanges()
কল করে আপডেট করা যায়।
using (var context = new SchoolContext())
{
// প্রথমে স্টুডেন্টটি রিট্রাইভ করুন
var student = context.Students.FirstOrDefault(s => s.StudentId == 1);
if (student != null)
{
student.Name = "John Smith"; // Name পরিবর্তন
student.Age = 21; // Age পরিবর্তন
context.SaveChanges(); // Save changes to the database
}
}
এখানে:
EF তে, যখন একটি Entity ক্লাসের অবজেক্ট পরিবর্তন করা হয়, EF অটোমেটিক্যালি এটি ট্র্যাক করে এবং SaveChanges() কল করার মাধ্যমে পরিবর্তন ডেটাবেসে আপডেট হয়ে যায়।
Delete অপারেশন ডেটাবেস থেকে রেকর্ড মুছতে ব্যবহৃত হয়। EF তে, আপনি DbSet
থেকে একটি Entity অবজেক্ট রিমুভ করে, তারপর SaveChanges()
কল করে ডেটাবেস থেকে রেকর্ডটি মুছে ফেলতে পারেন।
using (var context = new SchoolContext())
{
// স্টুডেন্টটি রিট্রাইভ করুন
var student = context.Students.FirstOrDefault(s => s.StudentId == 1);
if (student != null)
{
context.Students.Remove(student); // Entity রিমুভ করা
context.SaveChanges(); // Save changes to the database
}
}
এখানে:
DbSet
থেকে রিমুভ করা হয়েছে।Entity Framework এ CRUD অপারেশন সমূহে LINQ ব্যবহার করতে পারেন। তবে যদি আপনি Raw SQL কুয়েরি ব্যবহার করতে চান, তাও সম্ভব।
using (var context = new SchoolContext())
{
var studentsOlderThan20 = context.Students
.Where(s => s.Age > 20)
.ToList();
foreach (var student in studentsOlderThan20)
{
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}
}
using (var context = new SchoolContext())
{
var students = context.Students.FromSqlRaw("SELECT * FROM Students WHERE Age > {0}", 20).ToList();
foreach (var student in students)
{
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}
}
Entity Framework তে CRUD অপারেশনগুলি খুবই সহজে করা যায়, যেখানে DbContext এবং DbSet ক্লাসের মাধ্যমে ডেটাবেসে রেকর্ড তৈরি, পড়া, আপডেট এবং মুছা সম্ভব। LINQ এবং Raw SQL কুয়েরি ব্যবহার করে আরও জটিল ডেটা অপারেশন করা যেতে পারে। EF এর মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনকে ডেটাবেসের সঙ্গে কার্যকরভাবে ইন্টিগ্রেট করতে পারেন।
common.read_more